/* PS：之前跳过的练习过于简单，所以跳过，直接到这一题
 * 练习9：斐波那契数列展示。输入时设定一个数字i，然后从斐波那契数列第一个值开始，按顺序打印i个该数列的值。
 * 注意：下面的方法，刚开始并没有用到递归方法，写完后还洋洋得意觉得不错，
 * 注意：但看完答案后，我就愣住了...
 * 注意：尼玛！人家用的高级递归法呀！！！我再补一个去！
 */
package chapter4_ControllingExecution;
import publicLibs.p;

public class E9_Fibonacci {
	
	//补，正规的递归法求某个特定条件值
	public static int fibNumber(int i){
		if (i<2) return 1;
		return fibNumber(i-2)+fibNumber(i-1) ;
	}
	
	public static void main(String[] args) {
		// 1.Start
		// 还有一种方法，将String To Int，
		int m = Integer.parseInt(args[0]);
		int i = new Integer( args[0] );
		
		int a = 1, b = 1, temp = 0;
		p.pNoln(a);p.pNoln(b);
		for(int j=3; j<=i; j++){
			temp = a+b; p.pNoln(temp);
			a=b;b=temp;
		}
		p.p("");
		// 1.End
		
		// 2.Start
		for (int x=0; x<m; x++){
			p.pNoln(fibNumber(x));
		}
		// 2.End
	}

}
